class Solution {
public:
    bool check(int num){
        vector<int> cnt(10);
        while(num){
            ++cnt[num%10];
            num/=10;
        }
        if(cnt[0]!=0){
            return false;
        }
        for(int i=1;i<10;++i){
            if(cnt[i]>0 && cnt[i]!=i){
                return false;
            }
        }

        return true;
    }
    int nextBeautifulNumber(int n) {
        
        int nRet=n+1;
        while(!check(nRet)){
            ++nRet;
        }

        return nRet;
    }
};
